<template>
	<div class="port-page">
		<!-- 顶部按钮 -->
		<div class="but1">
			<router-link to="/home">
				<el-button type="warning" size="small" class="add btn" style='margin-right: 10px;' icon="el-icon-menu">首页</el-button>
			</router-link> 
		</div>
		<div class="search">
			<div class="search-item">
            	<span>关键字</span>
                <el-input placeholder="请输入名字或电话"  class="code-search" v-model="vkeyword"  @keyup.enter.native="search" icon="search"></el-input>
            </div>
			<div class="search-item">
                <el-date-picker  v-model="vbtime" class="code-search" :editable="false"  type="date"  placeholder="开始时间" @keyup.enter.native="search">  </el-date-picker>
            </div>
            <span>-</span>
            <div class="search-item">
                  <el-date-picker  v-model="vetime" class="code-search" :editable="false"  type="date"  placeholder="结束时间" @keyup.enter.native="search">  </el-date-picker>
            </div>
        <el-button type="primary" class="add btn" style="border-radius:13px;" :loading="searchLoading" @click="search" icon="el-icon-search"></el-button>
            
			<!--<div class="search-item"> 
				 <el-input v-model="vflmc" placeholder="按模板名称搜索" class="code-search"></el-input>
          	</div>
			<el-button type="primary" size="small" style="border-radius:13px;" :loading="searchLoading" @click="search" icon="el-icon-search"></el-button>-->
		</div>
		<!-- 数据表格展示区域 -->
		<el-table :data="dataList" border stripe size="small" :cell-style="styletest" align="center" class="admin-table" @select="checkSelect" @select-all="checkall">
			<!--<el-table-column type="selection" width="55"></el-table-column>-->
			<div slot='empty'>
				<img src="../../../assets/img/empty.png" style="width:40px;vertical-align: middle;">
				<span style="vertical-align: middle;">暂时还没有内容哦!</span>
			</div>
			<el-table-column
                :prop="v.prop"
                :label="v.label"
                v-for="(v,index) in portTitleList"
                align="center"
                :sortable = "v.sortable"
                show-overflow-tooltip
                v-if="v.hide != 0"
                :formatter="v.formatter"
                :align="v.align || 'center'"
                :fixed="v.fixed"
                :class-name="v.columnStyle"
                :width="v.width"
                :min-width="v.minWidth"
                :header-align="v.headerAlign || 'center'"
                >
                <template scope="scope">
                    <div slot="reference">
                        <div v-if="scope.column.property == 'zwm'" @click="componentsShow('info',scope)">
                            <img
                            :src="scope.row.xb == '男' ? $store.state.sexImg.boy : $store.state.sexImg.girl"
                            style="width:20px;vertical-align:middle; float: left;"
                            v-if="scope.column.property == 'zwm'">
                            <span style="vertical-align:middle;">{{ scope.row[scope.column.property] }}</span>
                        </div>
                        <span style="vertical-align:middle;" v-else>{{ scope.row[scope.column.property] }}</span>
                    </div>
                </template>
            </el-table-column>
			<el-table-column label="操作" width="230px"  align="center">
				<template scope="scope">
					<!-- scope.row.islq=='未领取'--> 
					<el-button size="mini" type="primary"  @click="componentsShow('bujiao',scope)">缴费</el-button>
					<el-button size="mini" type="warning" :disabled="scope.row.islq==''"  @click="componentsShow('info',scope)">领取</el-button> 
					<el-button size="mini" type="success"  @click="componentsShow('xq',scope)">详情</el-button> 
				</template>
			</el-table-column>
		</el-table>
		
		<!-- 各个组件显示区域 -->
		<!-- 动画加载 -->
		<LoadingComponent v-show="isLoading"></LoadingComponent>
	    <!-- 编辑组件 -->
		<AddComponent  v-if="portComponents.bujiao.toggle" @close="componentsHide" :params="portComponents.bujiao.params" ></AddComponent>
        <infoComponent v-if="portComponents.info.toggle"   @close="componentsHide" :params="portComponents.info.params"   ></infoComponent>
		<EditComponent v-if="portComponents.edit.toggle"   @close="componentsHide" :params="portComponents.edit.params"   ></EditComponent>
		<XqComponent   v-if="portComponents.xq.toggle"     @close="componentsHide" :params="portComponents.xq.params"     ></XqComponent>
	 	<!-- 子路由显示区域 -->
		<router-view class="port-view"></router-view>
	</div>
</template>
<script>
	import { mapState } from 'vuex'
	import qs from 'qs'
	import LoadingComponent from 'components/loading' 
	import AddComponent from '@/view/cost/baoming/add'
    import InfoComponent from 'view/cost/payjl/info'
	import EditComponent from './edit' 
	import XqComponent from './xq' 
	export default {
		components: {
			LoadingComponent, 
			EditComponent ,
			InfoComponent,
			XqComponent,
			AddComponent
		},
		data() {
			return {
				/*模糊搜索条件*/
				vbtime:'',
				vetime:'',
				addbujiao:false,
                vkeyword:'',
				multipleDelNum: '', //获取批量选择的数据
				dataList: [], //表格数据
				comboxlist: [], //下拉框 动态的
				vcomautovalue: '', //下拉框name 动态的
				vcomgdvalue: '', //下拉框name 固定的

				/*动画加载*/
				isLoading: true, //动画加载
				searchLoading: false, //搜索按钮触发按钮动画
				/*分页属性设置*/
				layout: 'total, sizes, prev, pager, next, jumper', //组件布局
				pageindex: this.$store.state.pageindex, //当前分页页码
				pagesizes: this.$store.state.pagesizes, //显示个数的选择器选项
				pagesize: this.$store.state.pagesize, //每页显示条目数
				total: 0, //总条数

				/*组件区域*/
				portComponents: {
					/* 单行删除  */
					singleDelete: {
						type: 'singleDelete',
						toggle: false,
						params: '',
						data: {
							index: '',
							type: 'single',
							title: '此操作将删除该记录?, 是否继续?'
						}
					},
					/* 批量删除 */
					multipleDelete: {
						type: 'multipleDelete',
						toggle: false,
						params: '',
						data: {
							index: '',
							type: 'multiple',
							title: '此操作将删除您选中的记录?, 是否继续?'
						}
					},
					/* 添加 */
					add: {
						type: 'add',
						toggle: false,
						params: '',
						data: {}
					},
					/* 编辑 */
					edit: {
						type: 'edit',
						toggle: false,
						params: '',
						data: {}
					},
					/* info */
					info: {
						type: 'info',
						toggle: false,
						params: '',
						data: {}
					},
					xq: {
						type: 'xq',
						toggle: false,
						params: '',
						data: {}
					},
					bujiao: {
						type: 'bujiao',
						toggle: false,
						params: '',
						data: {}
					}
				},
				/*
				    prop :  接口参数名
				    label : 接口中文名
				    hide : 是否隐藏这一列
				    align : 这一列对齐顺序 ： left,right,center
				    headerAlign : 这一列表头对齐方式 ： left,right,center
				*/
				portTitleList: [
				{
						prop: 'id',
						label: 'xsid',
						hide: 0,
						align: 'center',
						fixed: false,
						width: '',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
				   {
						prop: 'zwm',
						label: '中文名',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'orderid',
						label: '订单号',
						hide: 0,
						align: 'center',
						fixed: false,
						width: '',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'sj',
						label: '订单时间',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'ddlx',
						label: '订单类型',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'spmc',
						label: '物品名称',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'cns',
						label: '数量',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'zkjcjg',
						label: '单价',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'zk',
						label: '折扣',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'yjje',
						label: '应缴',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'qf',
						label: '欠费',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					{
						prop: 'islq',
						label: '是否领取',
						hide: 1,
						align: 'center',
						fixed: false,
						width: '80',
						minWidth: '',
						headerAlign: 'center',
						formatter: function(row, column) {}
					},
					
				]
			}
		},
		created() {
			//加载页面时调用
			this.$store.dispatch('changeTitle', '订单列表'); //修改title
			this.$store.dispatch('changeRouterIndex', '/cost/ddlb'); //修改路由
			this.search(); //分页获取默认数据
			// this.getcomlist(); //加载下拉列表
			this.isLoading = true; //动画开始
		},
		mounted() {
			this.isLoading = false; //动画结束
		},
		methods: {
			bujiao(){
				this.addbujiao = true
			},
			showbj(){
				this.addbujiao = false
			},
			styletest(boj) {
				if(boj.columnIndex == 8) {
					if(this.dataList[boj.rowIndex].qf >= 0) {
						return 'color:red'
					}
				}
				return '';
			},
			search() { 
				var time1 = this.$.getLocalTimeNo0(Date.parse(this.vbtime));
	          var time2 = this.$.getLocalTimeNo0(Date.parse(this.vetime));
				var logininfo = JSON.parse(localStorage.logininfo);
				this.searchLoading = true;
				var params2 = qs.stringify({ 
					  btime:time1,
					  etime:time2,
					  keyword: this.vkeyword,
					  yhid:logininfo.id,
                      xxid:logininfo.xxid,
                      pageindex: this.pageindex,
                      pagesize: this.pagesize,
				})
				//执行
				this.axios.post(this.$store.state.api + 'order/ddlblist', params2)
					.then(res => {
//						console.log(res,'fffff')
						let data = res.data.data;
						let list = data.list;
						this.total = data.totalPage;
						this.dataList = list;
						this.searchLoading = false;
					}).catch(res => {
						this.searchLoading = false;
					})
			}, 
			tableCellControl(scope) {
				//表格单元格控制CSS样式
				/*if (scope.row.id == 112 && scope.column.property == "iname") {
				    return {
				        color:"red",
				    }
				}else{
				    return {
				        color:"green",
				    }
				}*/
			},
			handleSizeChange(val) { //每页显示条数触发事件
				this.pagesize = val;
				this.pageindex = 1;
				this.search();
			},
			handleCurrentChange(val) { //分页触发事件
				this.search();
			},
			checkSelect(selection, row) { //点击单选select触发事件
				let strID = [];
				selection.forEach(function(v, i) {
					strID.push(v.id)
				})
				this.multipleDelNum = strID.join(",");
			},
			checkall(selection) { //点击全选select触发事件
				let strID = [];
				selection.forEach(function(v, i) {
					strID.push(v.id)
				})
				this.multipleDelNum = strID.join(",");
			},
			/* 组件的弹框  */
			componentsShow(type, data) { //显示组件 
				for(let i in this.portComponents) {
					if(type == this.portComponents[i].type) {
						this.portComponents[i].toggle = true;
						this.portComponents[i].params = data;
						if(this.portComponents[i].data.type == 'single') {
							this.portComponents[i].data.index = data.row.id
						} else if(this.portComponents[i].data.type == 'multiple') {
							this.portComponents[i].data.index = this.multipleDelNum;
						} else {
							return;
						}
						return;
					}
				}
			},
			componentsHide(setting) { //关闭组件 
				this.portComponents.bujiao.toggle = false;
				for(let i in this.portComponents) {
					if(setting.type == this.portComponents[i].type) {
						this.portComponents[i].toggle = false;
						if(!setting.cancel) {
							this.search();
						}
						return;
					}
				}
			}
		},
		computed: {
			...mapState([
				'api' //域名
			]) 
		}
	}
</script>

<style lang="less" scoped>
	.port-page {
		font-size: 12px;
		.btn {
			height: 30px;
			padding: 0 10px;
			margin-left: 0px;
		}
		.code-search {
			max-width: 130px;
            min-width: 100px;
            text-align: center;
            height: 50px;
            /*line-height: 50px;*/
            font-size: 12px;
		}
		.class-page {
			text-align: left;
			margin-top: 10px;
		}
		.search-item {
			display: inline-block;
		}
		.but1 {
			width: 30%;
			height: 50px;
			line-height: 50px;
			float: left;
		}
		.search {
			height: 50px;
			line-height: 50px;
			width: 70%;
			float: right;
			text-align: right;
		}
		.el-button+.el-button {
			margin-left: 0px;
		}
	}
</style>